/*
 * @Author: cmd
 * @we_chat: cmd_develop
 * @Date: 2019-01-10 14:08:09
 * @LastEditors: cmd
 * @LastEditTime: 2019-03-20 17:59:33
 * @Description: 微信平台
 */

import cmd from "../../../orc";
export default class wx{ 
    display_platform(){
        console.log('wx platform')
    }

    //显示加载，转圈
    wx_loading(title)
    {        
        window["wx"].showLoading({
            title: title,
            mask : true
        });        
    }

    //关闭加载
    wx_close_loading()
    {        
        window["wx"].hideLoading();  
    }    

    //判断网络情况
    wx_network(){
        return new Promise((resolve, reject) => {
            window["wx"].getNetworkType({
                success (res) {
                  resolve(res)
                }
              })
        })
    }

    //微信切换出去
    wx_onshow(){
        window["wx"].onShow(function(res){
            console.log('show:',res);
            console.log("")
            let now_time = new Date().getTime();
            let dist_time = (now_time - cmd.local_data.left_time)/1000;
            let str = "你离开的时间为" + String(dist_time) + "秒";
            if(dist_time > 60)
            {
                str = "你离开的时间为" + String(Math.floor(dist_time/60)) + "分";                
            }
            else if(dist_time > 3600)
            {
                str = "你离开的时间为" + String(Math.floor(dist_time/3600)) + "小时";                
            }
            else if(dist_time > 7200)
            {
                dist_time = 7200;              
            }
            
            //cmd.component_manager.show_alert_tips(str);
            if(dist_time > 10)
            {
                //cmd.memory_data.outline_achive = Math.floor((cmd.local_data.money_add * dist_time) / 10) ;
                //cmd.win_manager.win_open("outline_achive",0);
            }
            
        })
    }

    //微信切换回来
    wx_onhide(){
        window["wx"].onHide(function(res){
            console.log('hide:',res);
            //cmd.local_data.left_time = new Date().getTime();
            //cmd.model_data.time_save_local_data();
         })
    }

    //分享出去
    btn_share(title:string,image_url:string,query:string)
    {  
        window['wx'].sharecmdMessage({
            title: title,
            imageUrl: image_url,
            query: query,
            success: function (res) {
                console.log(res);
            },
            fail: function (res) {
                console.log(res);           
            }                
        })   
    }

    //头部按键分享
    meun_share(title,image_url,query)
    {
        window["wx"].showShareMenu({
            withShareTicket: true
        });

        window["wx"].onSharecmdMessage(function(){
            return{
                title: title,
                imageUrl: image_url,
                query: query,
                success: function (res) {
                    console.log(res);
                },
                fail: function (res) {
                    console.log(res);
                }  
            }  
        })
    }
    
    //获取微信的code
    get_code(){
        return new Promise((resolve, reject) => {
            window["wx"].login({
                success:res =>{  
                    resolve(res);
                }
            }) 
        })
    }

    //微信昵称、头像的获取 encryptedData iv
    get_userinfo(){        
        return new Promise((resolve, reject) => {  
            console.log("微信昵称、头像的获取")
            window["wx"].getUserInfo({                
                success: function(res) {                    
                    resolve(res);   
                },
                fail: function(res) {                    
                    resolve(res);   
                }               
            })  
        })
    }

    //客服
    ke_fu_service(){
        window["wx"].openCustomerServiceConversation();
    }

    //其他小程序/游戏
    other_program(appid:string,path:string){
        window["wx"].navigateToMiniProgram({
            appId: appid,
            path: path            
            })
    }

    //向开放域上传数据
    postMessage(type:string, value:number) {        
        window['wx'].postMessage({
            type: type,
            value: value,
        })
    }

    //上传给微信游戏数据，微信好友排行用
    upload_friend_score(score:number){        
        console.log(score);
        this.postMessage('score', score);
    }

    //显示总排行榜 1.total_rank 总排行榜 2.near_rank 附近的结算排行榜 3.beyond_rank 超越好友
    display_rank(command:string){
        window['wx'].postMessage({
            type: command,
            value: 0
        })
    }

    //上传给世界游戏数据，世界好友排行用
    async upload_world_score(url,body,score){
        // let score_upload = Number(score)
        
        // var res = await this.http(url,'post',body);
        // console.log("世界关卡提交的回调：",res);
    }

    /**
     * 显示微信banner广告
     * @param bannerWidth banner的大小300-375,1000就全屏
     * @param button_width 一般的banner的广告在最下方，这个参数是距离底部多少位置 
     */
    // show_banner_ad(banner_width:number,button_width:number){       
    //     if(this.bannerAd == undefined || this.bannerAd == null)
    //     {
    //         let winSize = window['wx'].getSystemInfoSync();
    //         if(banner_width <300)
    //         {
    //             banner_width = 300;                
    //         }
    //         else
    //         {
    //             banner_width = winSize.screenWidth;
    //         }
           
    //         if(winSize.screenWidth< banner_width)
    //         {
    //             banner_width = winSize.screenWidth;
    //         }            
            
    //         this.bannerAd = window['wx'].createBannerAd({
    //             adUnitId: this.bannerAd_txt[0],
    //             style: {
    //                 left: (winSize.screenWidth - banner_width)/2,
    //                 top:0,
    //                 width: banner_width             
    //             }
    //         })
           
    //         this.bannerAd.onError(err => {
    //                 console.log('异常',err)
    //         })
    //         this.bannerAd.onLoad(() => {
    //             console.log('banner 广告加载成功123')
    //         })
                
    //         this.bannerAd.onResize(res => {
    //             console.log('onResize');
    //             this.bannerAd.style.top = winSize.windowHeight - this.bannerAd.style.realHeight - button_width/2;
    //         });
    //         this.bannerAd.show().catch(err => console.log(err));
    //     }
        
    // }

    /**
     * banner的开关
     * @param banner_switch  true:on false:off
     */
    // switch_banner_on(banner_switch:boolean){
    //     if(this.bannerAd == undefined)
    //     {
    //         return;
    //     }
    //     if(banner_switch == true)
    //         this.bannerAd.show();
    //     else
    //         this.bannerAd.hide();
    // }

    // change_banner_ad(){
    //     this.bannerAd.destroy();
    //     this.bannerAd = null;
    //     this.show_banner_ad(375,0);        
    // }

    // create_video_ad(handle:any,handle_fail?:any){
    //     if(cc.sys.platform === cc.sys.WECHAT_GAME){ 
    //         this.videoAd_flag = false;
    //         this.videoAd = window['wx'].createRewardedVideoAd({adUnitId: 'adunit-8e2c54929d2b6d16'});
    //         this.videoAd.load().then(() =>this.videoAd.show())
    //         .catch(err =>
    //             { 
    //                 console.error('this.videoAd.show catch');
    //                 console.log(err.errMsg);
                    
    //             })
            
    //         //捕捉错误
    //         this.videoAd.onError(err => {
    //             console.error('this.videoAd.onError');
    //             this.videoAd_flag = true;
    //             handle();
    //             App.memory_data.sharetimeswatchvideo_temp = App.memory_data.sharetimeswatchvideo.value;
    //             console.log('您的视频看完，获得奖励!',App.memory_data.sharetimeswatchvideo_temp)
    //             console.error(err);
    //         })
    //         //关闭视频的回调函数
    //         this.videoAd.onClose(res => {
    //             // 用户点击了【关闭广告】按钮
    //             // 小于 2.1.0 的基础库版本，res 是一个 undefined
    //             console.log(res)
    //             if (res && res.isEnded || res === undefined) {
    //                 // 正常播放结束，可以下发游戏奖励
    //                 if(this.videoAd_flag == false)
    //                 {
    //                     this.videoAd_flag = true;
    //                     App.memory_data.sharetimeswatchvideo_temp = App.memory_data.sharetimeswatchvideo.value;
    //                     handle();
    //                     console.log('您的视频看完，获得奖励!',App.memory_data.sharetimeswatchvideo_temp)
    //                 }
                    
    //                 // let data = {
    //                 //     "cmd": 150,
    //                 //     "requestId": 12121,
    //                 // };
    //                 // this.sendSocketMsg(data);
    //             } else {
    //                 if(this.videoAd_flag == false)
    //                 {
    //                     this.videoAd_flag = true;
    //                     App.component_manager.show_alert_tips('您的视频还没看完，无法获得奖励');
    //                     console.log('您的视频还没看完，无法获得奖励');
    //                     if(handle_fail !== undefined )
    //                     {
    //                         handle_fail();
    //                     }
    //                 }
                    
    //                 //WxKit.showToast('')
    //                 // 播放中途退出，不下发游戏奖励
    //             }
    //         })
    //     }
    // }
    
    //微信切换出去回来
    // wx_onshow(){
    //     window["wx"].onShow(function(res){
    //         if(App.memory_data.share_flag == true)
    //         {
    //             App.memory_data.share_flag = false;
    //             let now_time = new Date().getTime();
            
    //             let share_time = Number(now_time) - Number(App.memory_data.left_time);
    //             let time_left = App.memory_data.shareconfig.share1.value * 1000;
    //             console.log("now_time:",share_time,time_left);
    //             if(share_time > time_left)
    //             {
    //                 //实际分享成功
    //                 if(App.memory_data.reg == 0)
    //                 {
    //                     //新玩家
    //                     if(Math.random() <= App.memory_data.shareconfig.share2.value)
    //                     {
    //                         //成功几率
    //                         if(Math.random() <= App.memory_data.shareconfig.share5.value)
    //                         {
    //                             //文字奖励
    //                             let temp = App.memory_data.shareconfig.share7.value[Number(App.utils.getRandom(0,Number(App.memory_data.shareconfig.share7.value.length)-1))].txt;
    //                             App.component_manager.show_alert_tips(temp);
    //                         }
    //                         App.event_manager.dispatch_event("start_add_flag",true);//大厅金币加成
    //                         App.event_manager.dispatch_event("start_money_add",true); //大厅救济金
    //                         App.event_manager.dispatch_event("start_go_game",true); //大厅幸运皮肤           
    //                         App.event_manager.dispatch_event("game_three",true);    //结算金币三倍 
    //                         App.memory_data.sharetimeswatchvideo_temp = App.memory_data.sharetimeswatchvideo_temp - 1;  
    //                     }
    //                     else
    //                     {
    //                         //失败提示
    //                         let temp = App.memory_data.shareconfig.share4.value[Number(App.utils.getRandom(0,Number(App.memory_data.shareconfig.share4.value.length)-1))].txt;
    //                         App.component_manager.show_alert_tips(temp);
    //                     }
    //                 }
    //                 else
    //                 {
    //                     //老玩家
    //                     if(Math.random() <= App.memory_data.shareconfig.share3.value)
    //                     {
    //                         //成功几率
    //                         if(Math.random() <= App.memory_data.shareconfig.share6.value)
    //                         {
    //                             //文字奖励
    //                             let temp = App.memory_data.shareconfig.share7.value[Number(App.utils.getRandom(0,Number(App.memory_data.shareconfig.share7.value.length)-1))].txt;
    //                             App.component_manager.show_alert_tips(temp);
    //                         }
    //                         App.event_manager.dispatch_event("start_add_flag",true);//大厅金币加成
    //                         App.event_manager.dispatch_event("start_money_add",true); //大厅救济金
    //                         App.event_manager.dispatch_event("start_go_game",true); //大厅幸运皮肤           
    //                         App.event_manager.dispatch_event("game_three",true);    //结算金币三倍 
    //                         //观看视频归位
    //                         App.memory_data.sharetimeswatchvideo_temp = App.memory_data.sharetimeswatchvideo_temp - 1;   
    //                     }
    //                     else
    //                     {
    //                         //失败提示
    //                         let temp = App.memory_data.shareconfig.share4.value[Number(App.utils.getRandom(0,Number(App.memory_data.shareconfig.share4.value.length)-1))].txt;
    //                         App.component_manager.show_alert_tips(temp);
    //                     }
    //                 }                
    //             }
    //             else
    //             {
    //                 //分享时间不够3S
    //                 //失败提示
    //                 let temp = App.memory_data.shareconfig.share4.value[Number(App.utils.getRandom(0,Number(App.memory_data.shareconfig.share4.value.length)-1))].txt;
    //                 App.component_manager.show_alert_tips(temp);
    //             }                
    //         }
    //     })
    // }

    //微信切换出去
    // wx_onhide(){
    //     window["wx"].onHide(function(res){
    //         console.log('hide:',res);
    //         console.log('App.memory_data.sharetimeswatchvideo_temp:',App.memory_data.sharetimeswatchvideo_temp)
    //         App.memory_data.left_time = new Date().getTime();         
    //      })
    // }

}